02. 整数和浮点数
整数和浮点数
到目前为止,我们看到的所有数值例子都是整数,即 int 型。但实际上 Python 中还存在其他数值类型,我们需要学习如何使用它们进行计算,以及如何在 Python 中生成它们。
>>> print(3/4)
0.75
在上面这个示例中,我们使用一个整数除以另一个整数,而得到的结果并不是整数,即 0.75。在 Python(和一般计算)中,我们将此类数字称为 浮点数 (float),其英文全称是 floating-point number 。
即使一个整数可以整除另一个整数,其结果也将是一个浮点数,比如:
>>> print(16/4)
4.0
[注意:我们课程中用到的是 Python 3。目前常用的 Python 有两种版本,即 Python 2 和 Python 3。在 Python 2 中,一个整数除以另一个整数将产生一个
int
,即使预期的结果不是整数!Python 2 的这个概念与 Python 3 中的整数除法 (
//
) 类似。]
一个整数和一个浮点数的运算将生成一个浮点数,比如:
>>> 3 + 2.5
5.5
要生成一个整数,只要给出一个没有小数点的整数即可。下面是一个整数:
>>> 387
如果需要生成一个浮点数,添加一个小数点即可!即使数字本身是一个整数也没有关系,你甚至不必在小数点之后添加任何内容。下面是几个浮点数:
>>> 213.13
>>> 341.
有时我们可能需要手动将一个数值类型转换为另一个数值类型,要想实现这一点,你可以通过
int()
和
float()
来构造这些类型的新对象,比如:
>>> int(49.7)
49
>>> int(16/4)
4
>>> float(3520+3239)
6759.0
将一个浮点数转换成整数时,小数点后的部分会被去除。
所以我们看到 Python 具有两个主要的数值 类型 —— 整数 (int) 和浮点数 (float)。那么这两种数值类型有什么用处呢?
- int —— 大家可能经常需要对物品进行计数,或者需要一个整数的计算结果。int 类型在这方面正好可以派上用场。
- float —— 如果你正在使用的数字不一定是一个整数,那么 float 可能就是你需要的类型!
浮点数是它们所表示的数字的 近似值 。了解这一点十分重要,因为浮点数可以表示很大范围内的数字,因此为了在计算机内存中存储数字,Python 必须使用近似值。这有时会产生惊人的结果:
>>> print(0.1)
0.1
>>> print(0.1 + 0.2)
0.30000000000000004
因为
0.1
的浮点数(即近似值)实际上略超过 0.1,所以当我们将其中几个值加到一起时,可以看到数学上的正确答案与 Python 输出的答案之间的区别。在大多数情况下,这些小差异无关紧要,但了解这些差异的存在十分必要!
如果你想更加深入地了解差异的原因,可以查看 Python 官方文档 中的解释,你也可以参考这个 中文博客 。简单来说,是因为 Python 是二进制的系统。二进制中,1/2、1/4 和 1/8 都可以被精确表示。但是,1/5 或者 1/10 就变成了循环小数。
SOLUTION:
- 你捕获的鱼的长度,单位:米。
- 捕获第一条鱼所用的时间,单位:小时。